package org.groupg.practice.guiPractice.progressDemo;

/**
 * 3. 发布事件：
 * 在需要更新进度条的地方，创建ProgressEvent实例并发布到事件总线上。
 */
public class ProgressUpdater {
    private EventBus eventBus;

    public ProgressUpdater(EventBus eventBus) {
        this.eventBus = eventBus;
    }

    public void startTask() {
        new Thread(() -> {
            for (int i = 0; i <= 100; i++) {
                try {
                    Thread.sleep(100); // 模拟任务执行时间
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                eventBus.post(new ProgressEvent(i));
            }
        }).start();
    }
}